/**
 * @param {String}   url       请求地址
 * @param {Object}   params    请求参数  
 * @param {Function} callback  回调函数  
 * @param {Object}   headers   请求头    空对象封装起来，用for in获取键和值
 * @param {Stirng}   dataType  返回的数据类型有可能是json 有可能是xml
 * 
 */

function get(url,params,callback,headers={},dataType="json"){
    const xhr=new XMLHttpRequest
    xhr.onreadystatechange=function(){
     if(xhr.readyState === 4){
         if(xhr.status === 200){
         let res=xhr.responseText
         switch (dataType) {
             case "json":
                 res=JSON.parse(res)
                 break;
             default:
                 break;
         }
         callback(res)
         } else {
            console.log(xhr.status);
         }
     }  
    }
    let temp=[]
    for(let key in params){
        temp.push(`${key}=${params[key]}`)
    }
    let paramsFilter=temp.join("&")
    xhr.open("get",`${url}?${paramsFilter}`)
    for(let key in headers){
            xhr.setRequestHeader(key,headers[key])
    }
    xhr.send(null)
}
